﻿using System;
using System.Collections.Generic;

using System.Text;

namespace XtraLibrary.SecsGem
{
    public class SecsItemManager
    {
        private Dictionary<string, SecsDataItem> m_DataItemDictionary;

        public SecsItemManager() {
            m_DataItemDictionary = new Dictionary<string, SecsDataItem>();
            Define_E005_DataItems();
        }

        private void Define_E005_DataItems() {
            m_DataItemDictionary.Clear();
            //code generated by EXCEL
            DefineSecsItemNoCheckRepeat("ABS", FormatCode.Binary, 0);
            DefineSecsItemNoCheckRepeat("ACCESSMODE", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("ACDS", FormatCode.U2, 1);
            DefineSecsItemNoCheckRepeat("ACKA", FormatCode.Boolean, 1);
            DefineSecsItemNoCheckRepeat("ACKC10", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("ACKC13", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("ACKC15", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("ACKC3", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("ACKC5", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("ACKC6", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("ACKC7", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("ACKC7A", FormatCode.U4, 1);
            DefineSecsItemNoCheckRepeat("AGENT", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("ALCD", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("ALED", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("ALID", FormatCode.U4, 1);
            DefineSecsItemNoCheckRepeat("ALIDVECTOR", FormatCode.U4, 0);
            DefineSecsItemNoCheckRepeat("ALTX", FormatCode.ASCII, 120);
            DefineSecsItemNoCheckRepeat("ATTRDATA", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("ATTRID", FormatCode.ASCII, 40);
            DefineSecsItemNoCheckRepeat("ATTRRELN", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("BCDS", FormatCode.U2, 0);
            DefineSecsItemNoCheckRepeat("BCEQU", FormatCode.U1, 0);
            DefineSecsItemNoCheckRepeat("BINLT", FormatCode.U1, 0);
            DefineSecsItemNoCheckRepeat("BLKDEF", FormatCode.I1, 1);
            DefineSecsItemNoCheckRepeat("BYTMAX", FormatCode.U4, 1);
            DefineSecsItemNoCheckRepeat("CAACK", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("CARRIERACTION", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("CARRIERID", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("CARRIERSPEC", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("CATTRDATA", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("CATTRID", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("CCODE", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("CEED", FormatCode.Boolean, 1);
            DefineSecsItemNoCheckRepeat("CEID", FormatCode.U4, 1);
            DefineSecsItemNoCheckRepeat("CEIDSTART", FormatCode.U4, 1);
            DefineSecsItemNoCheckRepeat("CEIDSTOP", FormatCode.U4, 1);
            DefineSecsItemNoCheckRepeat("CENAME", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("CEPACK", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("CEPVAL", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("CKPNT", FormatCode.U4, 1);
            DefineSecsItemNoCheckRepeat("CMDA", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("CMDMAX", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("CNAME", FormatCode.ASCII, 16);
            DefineSecsItemNoCheckRepeat("COLCT", FormatCode.U4, 1);
            DefineSecsItemNoCheckRepeat("COLHDR", FormatCode.ASCII, 20);
            DefineSecsItemNoCheckRepeat("COMMACK", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("COMPARISONOPERATOR", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("CONDITIONLIST", FormatCode.LIST, 0);
            DefineSecsItemNoCheckRepeat("CPACK", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("CPNAME", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("CPVAL", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("CTLJOBCMD", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("CTLJOBID", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("DATA", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("DATAACK", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("DATAID", FormatCode.U4, 1);
            DefineSecsItemNoCheckRepeat("DATALENGTH", FormatCode.U4, 1);
            DefineSecsItemNoCheckRepeat("DATASEG", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("DATASRC", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("DATLC", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("DELRSPSTAT", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("DIRRSPSTAT", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("DRACK", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("DSID", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("DSNAME", FormatCode.ASCII, 50);
            DefineSecsItemNoCheckRepeat("DSPER", FormatCode.ASCII, 6);
            DefineSecsItemNoCheckRepeat("DUTMS", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("DVNAME", FormatCode.U4, 1);
            DefineSecsItemNoCheckRepeat("DVVAL", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("DVVALNAME", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("EAC", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("ECDEF", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("ECID", FormatCode.U4, 1);
            DefineSecsItemNoCheckRepeat("ECMAX", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("ECMIN", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("ECNAME", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("ECV", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("EDID", FormatCode.ASCII, 80);
            DefineSecsItemNoCheckRepeat("EMID", FormatCode.ASCII, 16);
            DefineSecsItemNoCheckRepeat("EQNAME", FormatCode.ASCII, 80);
            DefineSecsItemNoCheckRepeat("ERACK", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("ERRCODE", FormatCode.U4, 1);
            DefineSecsItemNoCheckRepeat("ERRTEXT", FormatCode.ASCII, 80);
            DefineSecsItemNoCheckRepeat("ERRW7", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("EVNTSRC", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("EVNTSRC2", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("EXID", FormatCode.ASCII, 20);
            DefineSecsItemNoCheckRepeat("EXMESSAGE", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("EXRECVRA", FormatCode.ASCII, 40);
            DefineSecsItemNoCheckRepeat("EXTYPE", FormatCode.ASCII, 5);
            DefineSecsItemNoCheckRepeat("FCNID", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("FFROT", FormatCode.U2, 1);
            DefineSecsItemNoCheckRepeat("FILDAT", FormatCode.Binary, 0);
            DefineSecsItemNoCheckRepeat("FNLOC", FormatCode.U2, 1);
            DefineSecsItemNoCheckRepeat("FRMLEN", FormatCode.U4, 1);
            DefineSecsItemNoCheckRepeat("GETRSPSTAT", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("GRANT", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("GRANT6", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("GRNT1", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("HANDLE", FormatCode.U4, 1);
            DefineSecsItemNoCheckRepeat("HCACK", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("HOACK", FormatCode.Boolean, 1);
            DefineSecsItemNoCheckRepeat("HOCANCELACK", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("HOCMDNAME", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("HOHALTACK", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("IACDS", FormatCode.U2, 0);
            DefineSecsItemNoCheckRepeat("IBCDS", FormatCode.U2, 0);
            DefineSecsItemNoCheckRepeat("IDTYP", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("INPTN", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("JOBACTION", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("LENGTH", FormatCode.U4, 1);
            DefineSecsItemNoCheckRepeat("LIMITACK", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("LIMITID", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("LIMITMAX", FormatCode.F4, 1);
            DefineSecsItemNoCheckRepeat("LIMITMIN", FormatCode.F4, 1);
            DefineSecsItemNoCheckRepeat("LINKID", FormatCode.U4, 1);
            DefineSecsItemNoCheckRepeat("LOC", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("LOCID", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("LOWERDB", FormatCode.F4, 1);
            DefineSecsItemNoCheckRepeat("LRACK", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("LVACK", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("MAPER", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("MAPFT", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("MCINDEX", FormatCode.U4, 1);
            DefineSecsItemNoCheckRepeat("MDACK", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("MDLN", FormatCode.ASCII, 20);
            DefineSecsItemNoCheckRepeat("MEXP", FormatCode.ASCII, 6);
            DefineSecsItemNoCheckRepeat("MF", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("MHEAD", FormatCode.Binary, 10);
            DefineSecsItemNoCheckRepeat("MID", FormatCode.ASCII, 16);
            DefineSecsItemNoCheckRepeat("MIDAC", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("MIDRA", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("MLCL", FormatCode.U4, 1);
            DefineSecsItemNoCheckRepeat("MMODE", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("NACDS", FormatCode.U2, 0);
            DefineSecsItemNoCheckRepeat("NBCDS", FormatCode.U2, 0);
            DefineSecsItemNoCheckRepeat("NULBC", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("OBJACK", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("OBJCMD", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("OBJID", FormatCode.ASCII, 80);
            DefineSecsItemNoCheckRepeat("OBJSPEC", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("OBJTOKEN", FormatCode.U4, 1);
            DefineSecsItemNoCheckRepeat("OBJTYPE", FormatCode.ASCII, 40);
            DefineSecsItemNoCheckRepeat("OFLACK", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("ONLACK", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("OPID", FormatCode.U4, 1);
            DefineSecsItemNoCheckRepeat("ORLOC", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("OUTPTN", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("PARAMNAME", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("PARAMVAL", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("PDEATTRIBUTE", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("PDEATTRIBUTENAME", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("PDEATTRIBUTEVALUE", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("PDEREF", FormatCode.ASCII, 36);
            DefineSecsItemNoCheckRepeat("PFCD", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("PGRPACTION", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("PODID", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("PORTACTION", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("PORTGRPNAME", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("PPARM", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("PPBODY", FormatCode.Binary, 0);
            DefineSecsItemNoCheckRepeat("PPGNT", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("PPID", FormatCode.ASCII, 80);
            DefineSecsItemNoCheckRepeat("PRAXI", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("PRCMDNAME", FormatCode.ASCII, 6);
            DefineSecsItemNoCheckRepeat("PRDCT", FormatCode.U4, 1);
            DefineSecsItemNoCheckRepeat("PREVENTID", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("PRJOBID", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("PRJOBMILESTONE", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("PRJOBSPACE", FormatCode.U2, 1);
            DefineSecsItemNoCheckRepeat("PRMTRLORDER", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("PRPAUSEEVENTID", FormatCode.U4, 1);
            DefineSecsItemNoCheckRepeat("PRPROCESSSTART", FormatCode.Boolean, 1);
            DefineSecsItemNoCheckRepeat("PRRECIPEMETHOD", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("PRSTATE", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("PTN", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("QUA", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("RAC", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("RCMD", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("RCPATTRDATA", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("RCPATTRID", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("RCPBODY", FormatCode.Binary, 0);
            DefineSecsItemNoCheckRepeat("RCPCLASS", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("RCPCMD", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("RCPDEL", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("RCPDESCLTH", FormatCode.U4, 1);
            DefineSecsItemNoCheckRepeat("RCPDESCNM", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("RCPDESCTIME", FormatCode.ASCII, 16);
            DefineSecsItemNoCheckRepeat("RCPID", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("RCPNAME", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("RCPNEWID", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("RCPOWCODE", FormatCode.Boolean, 1);
            DefineSecsItemNoCheckRepeat("RCPPARNM", FormatCode.ASCII, 256);
            DefineSecsItemNoCheckRepeat("RCPPARRULE", FormatCode.ASCII, 80);
            DefineSecsItemNoCheckRepeat("RCPPARVAL", FormatCode.ASCII, 80);
            DefineSecsItemNoCheckRepeat("RCPRENAME", FormatCode.Boolean, 1);
            DefineSecsItemNoCheckRepeat("RCPSECCODE", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("RCPSECNM", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("RCPSPEC", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("RCPSTAT", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("RCPUPDT", FormatCode.Boolean, 1);
            DefineSecsItemNoCheckRepeat("RCPVERS", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("READLN", FormatCode.U4, 1);
            DefineSecsItemNoCheckRepeat("RECLEN", FormatCode.U4, 1);
            DefineSecsItemNoCheckRepeat("REFP", FormatCode.I4, 2);
            DefineSecsItemNoCheckRepeat("REPGSZ", FormatCode.U4, 1);
            DefineSecsItemNoCheckRepeat("RESOLUTION", FormatCode.ASCII, 36);
            DefineSecsItemNoCheckRepeat("RESPDESTAT", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("RESPEC", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("RETICLEID", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("RETICLEID2", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("RETPLACEINSTR", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("RETREMOVEINSTR", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("RIC", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("RMACK", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("RMCHGSTAT", FormatCode.U4, 1);
            DefineSecsItemNoCheckRepeat("RMCHGTYPE", FormatCode.U4, 1);
            DefineSecsItemNoCheckRepeat("RMDATASIZE", FormatCode.U4, 1);
            DefineSecsItemNoCheckRepeat("RMGRNT", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("RMNEWNS", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("RMNSCMD", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("RMNSSPEC", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("RMRECSPEC", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("RMREQUESTOR", FormatCode.Boolean, 1);
            DefineSecsItemNoCheckRepeat("RMSEGSPEC", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("RMSPACE", FormatCode.U4, 1);
            DefineSecsItemNoCheckRepeat("ROWCT", FormatCode.U4, 1);
            DefineSecsItemNoCheckRepeat("RPMACK", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("RPSEL", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("RPTID", FormatCode.U4, 1);
            DefineSecsItemNoCheckRepeat("RPTOC", FormatCode.Boolean, 1);
            DefineSecsItemNoCheckRepeat("RQCMD", FormatCode.Boolean, 1);
            DefineSecsItemNoCheckRepeat("RRACK", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("RSACK", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("RSDA", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("RSDC", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("RSINF", FormatCode.I4, 3);
            DefineSecsItemNoCheckRepeat("RSPACK", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("RTSRSPSTAT", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("RTYPE", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("SDACK", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("SDBIN", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("SENDRSPSTAT", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("SEQNUM", FormatCode.U4, 1);
            DefineSecsItemNoCheckRepeat("SFCD", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("SHEAD", FormatCode.Binary, 10);
            DefineSecsItemNoCheckRepeat("SLOTID", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("SMPLN", FormatCode.U4, 1);
            DefineSecsItemNoCheckRepeat("SOFTREV", FormatCode.ASCII, 20);
            DefineSecsItemNoCheckRepeat("SPNAME", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("SPVAL", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("SSACK", FormatCode.ASCII, 2);
            DefineSecsItemNoCheckRepeat("SSCMD", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("STATUS", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("STATUSLIST", FormatCode.LIST, 0);
            DefineSecsItemNoCheckRepeat("STATUSTXT", FormatCode.ASCII, 80);
            DefineSecsItemNoCheckRepeat("STIME", FormatCode.ASCII, 32);
            DefineSecsItemNoCheckRepeat("STRACK", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("STRID", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("STRP", FormatCode.I2, 2);
            DefineSecsItemNoCheckRepeat("SV", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("SV0", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("SVCACK", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("SVCNAME", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("SVID", FormatCode.U4, 1);
            DefineSecsItemNoCheckRepeat("SVNAME", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("TARGETID", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("TARGETPDE", FormatCode.ASCII, 36);
            DefineSecsItemNoCheckRepeat("TARGETSPEC", FormatCode.ASCII, 40);
            DefineSecsItemNoCheckRepeat("TBLACK", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("TBLCMD", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("TBLELT", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("TBLID", FormatCode.ASCII, 80);
            DefineSecsItemNoCheckRepeat("TBLTYP", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("TCID", FormatCode.ASCII, 36);
            DefineSecsItemNoCheckRepeat("TEXT", FormatCode.ASCII, 120);
            DefineSecsItemNoCheckRepeat("TIAACK", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("TIACK", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("TID", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("TIME", FormatCode.ASCII, 32);
            DefineSecsItemNoCheckRepeat("TIMESTAMP", FormatCode.ASCII, 32);
            DefineSecsItemNoCheckRepeat("TOTSMP", FormatCode.U4, 1);
            DefineSecsItemNoCheckRepeat("TRACK", FormatCode.Boolean, 1);
            DefineSecsItemNoCheckRepeat("TRANSFERSIZE", FormatCode.U8, 1);
            DefineSecsItemNoCheckRepeat("TRATOMCID", FormatCode.U4, 1);
            DefineSecsItemNoCheckRepeat("TRAUTOD", FormatCode.Boolean, 1);
            DefineSecsItemNoCheckRepeat("TRAUTOSTART", FormatCode.Boolean, 1);
            DefineSecsItemNoCheckRepeat("TRCMDNAME", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("TRDIR", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("TRID", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("TRJOBID", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("TRJOBMS", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("TRJOBNAME", FormatCode.ASCII, 80);
            DefineSecsItemNoCheckRepeat("TRLINK", FormatCode.U4, 1);
            DefineSecsItemNoCheckRepeat("TRLOCATION", FormatCode.U4, 1);
            DefineSecsItemNoCheckRepeat("TROBJNAME", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("TROBJTYPE", FormatCode.U4, 1);
            DefineSecsItemNoCheckRepeat("TRPORT", FormatCode.U4, 1);
            DefineSecsItemNoCheckRepeat("TRPTNR", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("TRPTPORT", FormatCode.U4, 1);
            DefineSecsItemNoCheckRepeat("TRRCP", FormatCode.ASCII, 80);
            DefineSecsItemNoCheckRepeat("TRROLE", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("TRTYPE", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("TSIP", FormatCode.Binary, 0);
            DefineSecsItemNoCheckRepeat("TSOP", FormatCode.Binary, 0);
            DefineSecsItemNoCheckRepeat("TTC", FormatCode.U4, 1);
            DefineSecsItemNoCheckRepeat("UID", FormatCode.ASCII, 36);
            DefineSecsItemNoCheckRepeat("UNFLEN", FormatCode.U4, 1);
            DefineSecsItemNoCheckRepeat("UNITS", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("UPPERDB", FormatCode.F4, 1);
            DefineSecsItemNoCheckRepeat("V", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("VERIFYDEPTH", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("VERIFYRSPSTAT", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("VERIFYSUCCESS", FormatCode.Boolean, 1);
            DefineSecsItemNoCheckRepeat("VERIFYTYPE", FormatCode.U1, 1);
            DefineSecsItemNoCheckRepeat("VID", FormatCode.ASCII, 0);
            DefineSecsItemNoCheckRepeat("VLAACK", FormatCode.Binary, 1);
            DefineSecsItemNoCheckRepeat("XDIES", FormatCode.F4, 1);
            DefineSecsItemNoCheckRepeat("XYPOS", FormatCode.I2, 2);
            DefineSecsItemNoCheckRepeat("YDIES", FormatCode.F4, 1);

        }

        private void DefineSecsItemNoCheckRepeat(string name, FormatCode fc, int itemLength)
        {
            SecsDataItem defin = new SecsDataItem(name, fc, itemLength, null);
            m_DataItemDictionary.Add(defin.Name, defin);
        }

        public void DefineSecsItem(SecsDataItem defin)
        { 
            
        }

        public void ChangeItemFormat(string name, FormatCode fc)
        { 
            
        }

        public SecsItem CreateItem(string itemName)
        {
            SecsItem ret = null;

            if (m_DataItemDictionary.ContainsKey(itemName))
            {
                SecsDataItem def = m_DataItemDictionary[itemName];
                ret = SecsItemFactory.Create(def.Name, def.Format);
            }
            else
            {
                throw new Exception("No item defination for item name :=" + itemName);
            }
            return ret;
        }

    }
}
